package stage_1_module_1.code;

/***
 * 编程题编程找出1000以内的所有完数并打印出来。所谓完数就是一个数恰好等于它的因子之和，如：6=1＋2＋3
 * 1.从1到1000循环
 * 2.判断每个数是否是完数
 * 3.checkCompute逻辑是循环从1到i-1,能整除的当成因子累加,因子加和跟i相同的输出为完数
 */

public class homework_2 {
    public static void main(String[] args) {
        for (int i=1;i<=1000; i++) {
            if (checkCompute(i)) {
                System.out.println(i);
            }
        }
    }

    public static boolean checkCompute(int in) {
        int out = 0;
        for (int i=1;i<in;i++) {
            if (in % i == 0) {
                out += i;
            }
        }
        return (in == out) ? true : false;
    }
}
